//
// Created by bjliuyong on 2021/6/10.
//

#ifndef GC_MARK_CLEAN_H
#define GC_MARK_CLEAN_H

#include "interface/garbage_collect.h"
#include "../memory/memory_chunk.h"

class MarkClean : public GarbageCollect {
private:
    MemoryChunk *m_mem_chunk;
public:
    MarkClean(MemoryChunk *memoryChunk);

    ~MarkClean();

public:
    void run() override;

private:
    void mark();

    void clean();
};


#endif //GC_MARK_CLEAN_H
